{
  class Parent {
    constructor (name = 'jiangfei') {
      this.name = name
    }
  }

  let parent = new Parent()
  console.log(parent)
}

{
  class Parent {
    constructor (name = 'jiangfei') {
      this.name = name
    }
  }

  class Child extends Parent {
    constructor (name = 'haha', type = 1) {
      super(name)
      this.type = type
    }
  }

  let child = new Child()
  console.log(child)
}

{
  class Person {
    constructor (name = 'jiangfei') {
      this.name = name
    }

    get getName () {
      return 'my is ' + this.name
    }

    set setName (name) {
      this.name = name
    }
  }

  let p = new Person()
  p.setName = 'nima'

  console.log(p)

  console.log(p.getName)
}

{
  class Person {
    constructor (name = 'jiangfei') {
      this.name = name
    }

    static tell() {
      return 'hahahahah'
    }
  }

  let p = new Person()


  console.log(Person.tell())
}


{
  class Person {
    constructor (name = 'jiangfei') {
      this.name = name
    }

    static tell() {
      return 'hahahahah'
    }
  }

  let p = new Person()


  console.log(Person.tell())
}